<?php
Load::models('usuario','rol','empresa','bodega');
class UsuarioController extends AppController 
{
        public function before_filter() {
            if ( !Auth::is_valid()){
                //Router::redirect('usuario/login/');
            }else{
                $this->tipoMenu="usuario";
                
            }
        }
    
	public function index()
	{
            
	}
        //Login de usuario
        public function login()
        {
           //cambiamos el template al de portada
           View::template('portada');
           
           if (Input::hasPost("username","password")){			
                $pwd = Input::post("password");
		$usuario=Input::post('username');
		$auth = new Auth("model", "class: usuario", "username: $usuario", "password: $pwd");
			
		if ($auth->authenticate()) {
			//Asignamos el ID del usuario para futuros usos
			$user2  = new Usuario();
			Session::set("rol_id",Auth::get('rol_id'));
			Session::set("nombre_usuario",Auth::get('username'));
                        
                        Session::set('empresa_nombre',$user2->getBodega()->getEmpresa()->nombre);
                        Session::set('empresa_direccion',$user2->getBodega()->getEmpresa()->direccion);
                        Session::set('empresa_email',$user2->getBodega()->getEmpresa()->email);
                        Router::redirect("inicio/");
		} else {
			Flash::error("Error, Usuario y/o contraseña incorrecta");
		}
            }
        }
        //Cerrar sesion
        public function logout()
        {
            Auth::destroy_identity();
            Router::redirect("/");
        }
        //Registro de nuevo usuario
        public function agregar(){
           if(Input::hasPost('usuario')){
                $usuario = new Usuario(Input::post('usuario'));
            
             if(!$usuario->save()){
              //  Flash::error('Falló Operación');
                try{
                    
             }catch(ActiveRecordException $e){
                 $this->usuario = $this->post('usuario');
             }
                
              
            }else{
                Flash::success('Operación exitosa');
            }
            }  
        }
        
        //Editar Perfil de usuario
        public function editar(){
            
        }
        
        public function eliminar($id){
            $usuario = new Usuario();
            $usuario = $usuario->find($id);
            $usuario->estado = "0";
            
            if ($usuario->update()) {
                Flash::valid('Operación exitosa');
            }else{
                Flash::error('Falló Operación'); 
            }
 
            return Router::redirect('usuario/listar');
        }
        public function gestion(){
            
        }
        
        public function listar(){
            $usuario = new Usuario();
            $this->usuario =   $usuario->find("order: nombre","conditions: estado=1");    
        }
        
        public function verReportePDF(){
           
            View::response('view');
            $usuario = new Usuario();
            $this->usuario =   $usuario->find("order: nombre"); 
            $this->texto = 'Lista de Usuarios';            
            
        }
        public function verDetallePDF($id){
           
            View::response('view');
            $this->texto = 'solo uno';
            
            
        }
       
}
?>